package com.yxym.object_;

public class Finalize {
    public static void main(String[] args) {
        Car car = new Car("奔驰");
        car = null;
        //car对象就是一个垃圾，垃圾回收器就会回收（销毁）对象
        //在销毁对象前，会调用该对象的finalize方法
        //在这方法中finalize，可以释放资源等操作
        //不重写finalize 就会调用Object类的finalize，进行默认处理
        //如果重写了，就可以实现自己的逻辑
        System.gc();//主动用垃圾回收器
        System.out.println("程序退出");

    }
}
class Car{
    private String name;

    public Car(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override//重写
    protected void finalize() throws Throwable {
        System.out.println("销毁资源");
        //super.finalize();
    }
}
